<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Strict//EN">
<html>

<head>
<meta http-equiv="Content-Language" content="en-us">
<title>Object common properties</title>
<link rel="stylesheet" type="text/css" href="../style.css">
</head>

<body>

<div align="center">
<table class=allEncompassingTable >
 <tr>
  <td >
<p><a href="../index.html" TARGET="_top"><img src="images/homeImg.png"></a></p>



<h1>Object common properties</h1>

<p>The object common properties dialog is part of the <a href="sceneObjectPropertiesDialog.htm">scene object properties </a>dialog, which is located at [Menu bar --&gt; Tools --&gt; Scene object properties]. You can also open the dialog with a double-click on an object icon in the <a href="userInterface.htm#SceneHierarchy">scene hierarchy</a>, or with a click on its <a href="userInterface.htm#toolbars">toolbar</a> button:<br>
</p>

<p align=center><img src="images/objectPropertyToolbarButton.jpg"></p>
<p class=imageLabel>[Scene object properties toolbar button]</p>
<br>

<p>In the scene object properties dialog, click  the <strong>Common</strong> button to display the object common properties dialog. The dialog displays the settings and parameters of the last selected <a href="objects.htm">object</a>. If no object is selected, the dialog is inactive. If more than one object is selected, then some parameters can be copied from the last selected object to the other selected objects (<strong>Apply to selection</strong>-buttons):<br>
</p>

<p align=center><img src="images/objectCommonDlg2.jpg"></p>
<p class=imageLabel>[Object common properties dialog]</p>
<br>


<li><strong>Selectable</strong>: indicates whether the object can be selected in the scene. Objects can always be selected in the <a href="userInterface.htm#SceneHierarchy">scene hierarchy</a>. Refer also to the <a href="regularApi/simSetObjectProperty.htm">sim.setObjectProperty</a> function.
</li>

<li><strong>Invisible during selection</strong>: when enabled, then the object will be invisible for the selection process (i.e. you will be able to select <em>through</em> the object).</li>

<li><strong>Ignored by depth pass</strong>: when enabled, then the object will be ignored during the depth rendering pass. The depth rendering pass is used to correctly position the red sphere for camera movements.</li>


<li><strong>Select base of model instead</strong>: if enabled, then selecting the object in the scene will select its first parented object marked as <strong>object is model base</strong> instead (see further down). This property is convenient when protecting a model from faulty manipulations, allowing it to be manipulated as a single entity together with other objects. Refer to the <a href="models.htm">section on models</a> and also to the <a href="regularApi/simSetObjectProperty.htm">sim.setObjectProperty</a> function. <br>
</li>
<li><strong>Ignored by model bounding box</strong>: when selected, and the object is part of a <a href="models.htm">model</a>, then the model bounding box (i.e. model selection bounding box) will not encompass that object. This is useful for invisible objects that might make the model bounding box appear too big. This property has no functional effect. Refer also to the <a href="regularApi/simSetObjectProperty.htm">sim.setObjectProperty</a> function.<br>
</li>

<li><strong>Ignored for view-fitting</strong>: objects with this item selected will not be taken into account when fitting a scene to a view while no object is selected. Usually floors and similar will be tagged as such. Refer also to the <a href="userInterface.htm">view fitting toolbar button</a> and to the <a href="regularApi/simCameraFitToView.htm">sim.cameraFitToView api function</a>.</li>

<li><strong>Cannot be deleted during simul.</strong>: when enabled, then the object will ignore a deletion operation when a simulation is running (deletion will however still work when triggered via code).</li>

<li><strong>Cannot be deleted</strong>: when enabled, then the object will ignore a deletion operation (deletion will however still work when triggered via code).</li>

<li><a name="extensionString"></a> <strong>Extension string</strong>: a string that describes additional object properties, mainly used by extension plugins (see also the <a href="regularApi/simGetExtensionString.htm">sim.getExtensionString</a> API function).</li>

<li><strong>Camera visibility layers</strong>: each object in CoppeliaSim can be assigned to one or several visibility layers. If there is at least one visibility layer that matches the <a href="layerSelectionDialog.htm">layer selection dialog</a> layers, then the object will be visible when seen from a camera. By default, a <a href="shapes.htm">shape</a> is assigned to the first layer, a <a href="joints.htm">joint</a> to the second layer, a <a href="dummies.htm">dummy</a> to the third layer, etc.
</li>

<li><strong>Object is model base</strong>: indicates whether the object should act as the base of a <a href="models.htm">model</a>. An object flagged as <em>base of model</em> has special properties (e.g. copying the object will also automatically copy all its hierarchy tree). Additionally, when such an object is selected, the selection bounding box is displayed as thick stippled lines, encompassing the whole model. Refer also to the <strong>select base of model instead</strong> item above. Additionally, a model will share a same identifier with all of its copies or clones. A model can then transfer its DNA (i.e. share an instance of itself) to all of its clones, via the transfer DNA <a href="userInterface.htm#toolbars">toolbar</a> button. Imagine having 100 same robots in your scene that you  want to modify in a similar way: simply modify one of them, select it, then click the transfer DNA toolbar button. </li>
<p align=center><img src="images/dnaTransferButton.jpg"></p>
<p class=imageLabel>[DNA transfer toolbar button]</p>
<br>

<li><strong>Edit model properties</strong>: allows opening the <a href="modelDialog.htm">model dialog</a>. </li>

<li><strong>Collidable</strong>: allows enabling or disabling <a href="collisionDetection.htm">collision detection</a> capability for the selected<a href="collidableObjects.htm"> collidable object</a>.</li>
<li><strong>Measurable</strong>: allows enabling or disabling <a href="distanceCalculation.htm">minimum distance calculation</a> capability for the selected <a href="measurableObjects.htm">measurable object</a>.</li>
<li><strong>Detectable</strong>: allows enabling or disabling <a href="proximitySensors.htm">proximity sensor</a> detection capability for the selected <a href="detectableObjects.htm">detectable object</a>.</li>

<li><a name="selfCollisionIndicator"></a><strong>Collection self-collision indicator</strong>: when performing collision (or minimum distance) calculations between two identical collections, CoppeliaSim will normally check all collection items against all other items in that collection. In some situation, such as a kinematic chain, one doesn't want to check consecutive links, since they might be constantly colliding at the interface. In that case, you can use the collection self-collision indicator: two items of a same collection will not be checked against each other if their indicator difference is exactly 1, as can be seen on following figure:
</li>

<p align=center><img src="images/collectionSelfCollisionIndicator.jpg"></p>
<p class=imageLabel>[Collection self-collision indicators]</p>
<br>


<li><strong>Scaling</strong>: objects or models can be scaled in a flexible way in CoppeliaSim. The size of an object or model, and all related properties are scaled appropriately (e.g. joint ranges, velocity settings, masses, etc.) so that the scaled object or model can normally continue to operate (but at a different scale). <br>
</li>


<li><a name="assembling"></a><strong>Assembling</strong>: opens a dialog that allows to specify how the <a href="userInterface.htm#toolbars">assembling toolbar button</a> will handle the object during assembly (if objects are assembled in a different way than via the assembling toolbar button, then following settings will have no influence):</li>

<p align=center><img src="images/assembling.jpg"></p>
<p class=imageLabel>[Assembling behaviour dialog]</p>
<br>







<li class=tabTab><strong>Required match values for parent</strong>: the object can be attached to another object (i.e. become another object's child), but only if one of the listed <em>required match values for parent</em> matches one of its new parent's <em>required match values for child</em> values. This feature is useful in order to set a fixture compatibility criteria (e.g. gripper A can only be attached with a robot that has a tooltip of type A).</li>

<li class=tabTab><strong>Required match values for child</strong>: the object can have another object attached to itself  (i.e. become another object's parent), but only if one of its <em>required match values for child</em> matches  one of its new child's <em>required match values for parent </em>values. This feature is useful in order to set a fixture compatibility criteria (e.g. gripper A can only be attached with a robot that has a tooltip of type A).</li>

<li class=tabTab><strong>When assembling, a specific local transform. matrix will be applied</strong>: if checked, then the object won't stay in place when assembled: a specific transformation matrix will be used as its new local transformation matrix. By default that matrix is the identity matrix, but you can specify a specific matrix by clicking <strong>Set matrix</strong>.  This feature is useful in order to automatically position and orient an object correctly in relation to its new parent (e.g. in order to have a gripper automatically placed correctly at a robot's tooltip)</li>

<p>The object selection order is important for assembly operations, i.e. first select the <em>to-become-child-object</em>, then the <em>to-become-parent-object</em>. If the selection order is wrong, or if the <em>to-become-parent-object</em> is not appropriate, then CoppeliaSim will try to guess what the real intention of the user was (e.g. by searching for an appropriate match in the <em>to-become-parent-object</em>'s descendents), if there is no ambiguity.</p>




<br>
<br>

 </tr>
</table> 
</div>  
  
  
</body>

</html>
